#ifndef __GX_FLASH_COMMON_H__
#define __GX_FLASH_COMMON_H__

/**
 * @brief 3 types of flash
 */
enum {
	GX_FLASH_CHIP_TYPE_NOR = 0,
	GX_FLASH_CHIP_TYPE_SPINAND,
	GX_FLASH_CHIP_TYPE_NAND,
	GX_FLASH_CHIP_TYPE_UNKNOWN
};

/**
 * @brief flash protect mode
 */
enum {
	GX_FLASH_PROTECT_MODE_NONSUPPORT = 0,
	GX_FLASH_PROTECT_MODE_BOTTOM,
	GX_FLASH_PROTECT_MODE_TOP
};

/**
 * @brief flash match mode
 */
enum {
	GX_FLASH_MATCH_MODE_NONSUPPORT = 0,
	GX_FLASH_MATCH_MODE_ID,
	GX_FLASH_MATCH_MODE_BLUR
};

/**
 * @brief flash信息
 */
enum gx_flash_info {
	GX_FLASH_CHIP_TYPE,
	GX_FLASH_CHIP_NAME,
	GX_FLASH_CHIP_ID,
	GX_FLASH_CHIP_SIZE,
	GX_FLASH_BLOCK_SIZE,
	GX_FLASH_BLOCK_NUM,
	GX_FLASH_SECTOR_SIZE,
	GX_FLASH_SECTOR_NUM,
	GX_FLASH_PAGE_SIZE,
	GX_FLASH_PAGE_NUM,
	GX_FLASH_ERASE_SIZE,
	GX_FLASH_ERASE_NUM,
	GX_FLASH_PROTECT_MODE,
	GX_FLASH_MATCH_MODE,
};

#endif /* __GX_FLASH_COMMON_H__ */

